package _动态规划系列._股票买卖问题;

/**
 * @Author: 吕庆龙
 * @Date: 2020/3/31 11:20
 * <p>
 * 功能描述:
 */
public class Summary_Stock {

    /**
     * dp[n - 1][K][0]，即最后一天，最多允许 K 次交易，最多获得多少利润
     *
     * 状态转移
     * dp[i][k][0]=Math.max(dp[i-1][k][0],dp[i-1][k][1] + price[i])
     * dp[i][k][1]=Math.max(dp[i-1][k][1],dp[i-1][k-1][0] - price[i])
     *
     * base case
     * dp[-1][k][0]=0       //第0天，无法交易所以利润为0
     * dp[-1][k][1]=负无穷   //第0天，不可能持有股票，用负无穷代表不可能
     * dp[i][0][0]=0       //最多允许交易0次，那么利润肯定为0
     * dp[i][0][1]=负无穷   //最多允许交易0次，那么就不可能持有股票。所以为不可能
     */
}
